System and Method for Ordering Items

ABSTRACT

A system and method for retrieving items, the method includes the steps of receiving a text request comprising a unique identifier identifying and electronic file and unformatted text, parsing the text request to identify the unique identifier, and requesting the electronic file associated with the unique identifier. Where the request comprises more than one unique identifier, the unique identifiers are provided to a user for selection of one or more of the unique identifiers and the user is queried to order the file associated with the selected unique identifiers.

TECHNICAL FIELD

The present invention relates to methods and systems of effecting business on the Internet. More particularly, although not exclusively, the present invention relates to methods and systems for allowing a user to request and retrieve desired information on a computer system.

BACKGROUND OF THE INVENTION

The web has become an important vehicle for establishing and maintaining a business presence in the global economy. For example, retail stores, catalog companies, service industries, airlines, publishers, realtors, and others have increased business by establishing and maintaining web sites that display their products/services and allow users to view, select, and purchase the respective products/services. Electronic commerce (e-commerce) has become a viable and important way of conducting business.

Current state of the art methods for requesting and obtaining desired electronic information or selecting items for online purchase typically employ one of the following types of online methods. 1) Viewing an online catalog, selecting desired items, and by selecting desired items, putting them into an electronic shopping cart. These steps can be preceded by a request query and/or have query steps in between, as well as navigational browsing steps around the web site(s) of interest. This method works well for items that are identified primarily by pictures (such as clothing or groceries) or descriptions of item contents (such as books). This online method mimics a person's real life shopping routine: browse, select, purchase. 2) Entering of a formatted request (such as one item per line) to a web server. The items of such a request are typically obtained by an online search; wherein the output is generally presented to the user in a format containing descriptions, numbers, and useful information. While the search output format is user friendly in that it gives the user desired information, this same format, however, is not amenable to the ordering of the data items for purchase or download. Generally, the search output has to be adapted, reformatted, or visually parsed by the user before any items within can be ordered and purchased.

Document retrieval systems available online are typically coupled to a database search system. An example of such a system is the PubMed searchable database operated by the National Library of Medicine available at www.ncbi.nlm.nih.gov/PubMed/. To locate journal articles on a certain topic, a user performs an author or keyword search of the PubMed database through a client browser. The result of the search is a list of journal titles and abstracts related to the search query. This list is presented to the user via the client browser. Depending upon the publisher of the journal article, there may be an option for the user to view the full text document by linking to it on the publisher's web page. In the PubMed system, the documents are stored in a distributed manner in each publisher's server. Additionally, many of the publishers require a separate login and/or subscription to their sites to retrieve journal articles. The nature of this architectural set-up requires that each individual document be selected and downloaded. Hence, while documents can be “retrieved” over the Internet by initiating the process at a web site such as PubMed, the primary function of PubMed is to provide a searchable database.

Another document retrieval system is described in U.S. Pat. No. 5,873,076. This patent discloses a database containing records referencing both text and multimedia files that can be queried by a user. The patent discloses natural language input by the user, semantic interpretation of the query, and weighted relevance of hits. Furthermore, it discloses that files that are associated with the result list are retrieved from various plural sources. As a consequence, the '076 patent discloses user accounting and tracking to each source to facilitate proper royalty payments. Like the PubMed example, the '076 patent architecture and user interface require individual documents or multimedia files to be accessed individually by the user by employing, for example, mouse clicks.

SUMMARY OF THE INVENTION

In accordance with the present invention, the above and other problems are solved by method and system for receiving a text request comprising a unique identifier identifying and electronic file and unformatted text, parsing the text request to identify the unique identifier, and requesting the electronic file associated with the unique identifier. Where the request comprises more than one unique identifier, the unique identifiers are provided to a user for selection of one or more of the unique identifiers and the user is queried to order the file associated with the selected unique identifiers.

The invention may be implemented as a computer method, a computing system or as an article of manufacture such as a computer program product or computer readable media. The computer program product may be a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer method. The computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer method.

In accordance with other aspects, the present invention relates to a system for retrieving items. The system includes a request module submitting unformatted data and a unique identifier identifying an item to a server system, a parser module identifying the unique identifier, and an order module that enables the server system to process an order for the item associated with the unique identifier.

In accordance with still other aspects, the present invention relates to a method of retrieving items. The method includes the steps of receiving a request comprising a unique identifier and data, wherein the unique identifier identifies an item, parsing the request to identify the unique identifier, and requesting the item associated with the unique identifier. The method may include the steps providing the unique identifiers to a user for selection of one or more of the unique identifiers; and querying a user to order the items associated with the selected unique identifiers.

A significant advantage of the invention is that it is time saving and allows greater accuracy than other ordering methods. The user does not spend valuable time visually parsing an online search and entering individually the desired items for purchase. Since the user is not required to enter the desired items manually and individually, errors are reduced and the time spent entering items is minimized.

The present invention can be used in addition to and in conjunction with traditional e-commerce methods. However, the present invention can also be employed as an alternative to traditional e-commerce methods. The present invention is described in the context of the Web. However, the invention may find application in any environment where stored data are accessible to one or more users. The invention can be applied to a multi-user Intranet or Internet environment, or even to a non-networked environment where stored data are accessed by a single user. One aspect of the invention includes parsing a user's request and delivering the desired request without numerous mouse clicks or keyboard strokes. The present invention is useful for enacting electronic commerce and electronic information and file retrieval.

These and various other features as well as advantages, which characterize the present invention, will be apparent from a reading of the following detailed description and a review of the associated drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a distributed computing system for implementing an embodiment of the present invention;

FIG. 1 a illustrates computers according to an embodiment of the present invention;

FIG. 2 illustrates the operational flow according to an embodiment of the present invention;

FIG. 3 illustrates the operational flow of one embodiment of the identify operation according to the present invention;

FIG. 4 illustrates an exemplary screen display showing the text of an email message.

FIG. 5 is an exemplary screen display showing an input form.

FIG. 6 is an exemplary screen display showing the text pasted into the input form shown in FIG. 5.

FIG. 7 is an exemplary screen display showing the identified items.

FIG. 8 is an exemplary screen display showing the files that may be viewed or downloaded.

FIG. 9 illustrates the operational flow of one embodiment of a system according to the present invention for the delivery of items that are digitally archivable; and

FIG. 10 illustrates the operational flow of one embodiment of a system according to the present invention for the delivery of items in an e-commerce system.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates a one possible organization for a distributed computing system for implementing an embodiment of the present invention. The distributed computing system includes a plurality of computing systems connected together using a communications network. These computing systems include user workstations and laptop computers 103 directly connected to a wide area network (WAN) 101. Also connected to the WAN 101 is a plurality of server computers 102. In one possible embodiment of the present invention, the WAN 101 may be the Internet in which user computers 103 connected using a typical dial-up connection through an internet service provider (ISP). Other types of connections that can be used include T1, DSL (digital subscriber line), ISDN (Integrated Services Digital Network) or cable.

Users of the network may also connect to the communications system using client computers 104 that are connected to a local area network (LAN) 106 in which the LAN 106 is connected to the internet 101 through a proxy server. In this arrangement, the client computers access resources located on the internet 101 by sending the request to the proxy server 105. The proxy server 105 in turn forwards the request to a destination on the internet. The response to this request is received by the proxy server 105 which forwards the request to the requesting client computer 104.

Server computers 102 receive these service requests from user client computers 103, 104 and generate the appropriate responses. Such requests commonly employ the standard http communications protocol. Other protocols include ftp, pop, smtp and telnet. The responses generated and returned to the user client computers 103, 104 can be in the form of a web page specified in HTML that may be displayed to the user utilizing a browser such as MICROSOFT INTERNET EXPLORER or NETSCAPE NAVIGATOR. Web pages specified in other markup languages such as SGML, VRML, or XML are also contemplated. Depending on the internet protocol used, the service requests will elicit responses other than browser displayed pages, such as file transfer, mail sending, or mail receiving.

The server computers 102 may store “back end” information in formats such as a database, data warehouse, file repository, program repository, document repository, image repository, audiofile repository, videofile repository, or any other archive of electronic data. This “back end” data may also be stored in a distributed manner across one or more server computers 102. A web site can be programmed to access any of these electronic data formats. Client computer 103 programs, such as browsers, allow a remote user to access the information stored on the web site and to navigate around the web. Generally, browsers employ a graphical user interface displayed on monitor 152 which allows the computer 103 to utilize a mouse 146 or other input device perform server 102 and data accession and navigation functions via the graphical interface. Data accession encompasses digital media including text, hypertext, images, graphics, files, programs, documents, audio, animation, streaming data or any other type of digital media.

FIG. 1 a illustrates exemplary computing system for an embodiment of the invention includes a general purpose computing device in the form of a conventional computer system 102, 103, 104, or 105 including a processor unit 112, a system memory 114, and a system bus 116 that couples various system components including the system memory 114 to the processor unit 112. The system bus 116 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus and a local bus using any of a variety of bus architectures. The system memory includes read only memory (ROM) 118 and random access memory (RAM) 120. A basic input/output system 122 (BIOS), which contains basic routines that help transfer information between elements within the computer system 102, 103, 104, or 105, is stored in ROM 118.

The computer system 102, 103, 104, or 105 further includes a hard disk drive 123 for reading from and writing to a hard disk, a magnetic disk drive 124 for reading from or writing to a removable magnetic disk 126, and an optical disk drive 128 for reading from or writing to a removable optical disk 129 such as a CD ROM, DVD, or other optical media. The hard disk drive 123, magnetic disk drive 124, and optical disk drive 128 are connected to the system bus 116 by a hard disk drive interface 130, a magnetic disk drive interface 132, and an optical drive interface 134, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, programs, and other data for the computer system 102, 103, 104, or 105.

Although the exemplary environment described herein employs a hard disk, a removable magnetic disk 126, and a removable optical disk 129, other types of computer-readable media capable of storing data can be used in the exemplary system. Examples of these other types of computer-readable mediums that can be used in the exemplary operating environment include magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories (RAMs), and read only memories (ROMs).

A number of program modules may be stored on the hard disk, magnetic disk 126, optical disk 129, ROM 118 or RAM 120, including an operating system 136, one or more application programs 138, other program modules 140, and program data 142. A user may enter commands and information into the computer system 102, 103, 104, or 105, through input devices such as a keyboard 144 and mouse 146 or other pointing device. Examples of other input devices may include a microphone, joystick, game pad, satellite dish, and scanner. These and other input devices are often connected to the processing unit 112 through a serial port interface 150 that is coupled to the system bus 116. Nevertheless, these input devices also may be connected by other interfaces, such as a parallel port, game port, or a universal serial bus (USB). A monitor 152 or other type of display device is also connected to the system bus 116 via an interface, such as a video adapter 154. In addition to the monitor 152, computer systems typically include other peripheral output devices (not shown), such as speakers and printers.

The computer system 102, 103, 104, or 105, may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 156. The remote computer 156 may be a computer system, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer system 102, 103, 104, or 105. The network connections include a local area network (LAN) 158 and a wide area network (WAN) 160. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.

When used in a LAN networking environment, the computer system 102, 103, 104, or 105 is connected to the local network 158 through a network interface or adapter 162. When used in a WAN networking environment, the computer system 102, 103, 104, or 105 typically includes a modem 164, network card, or other means for establishing communications over the wide area network 160, such as the Internet. The modem 164, which may be internal or external, is connected to the system bus 116 via the serial port interface 150. In a networked environment, program modules depicted relative to the computer system 102, 103, 104, or 105, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary, and other means of establishing a communications link between the computers may be used.

A computing device, such as computer system 102, 103, 104, or 105 typically includes at least some form of computer-readable media. Computer readable media can be any available media that can be accessed by the computer system 102, 103, 104, or 105. By way of example, and not limitation, computer-readable media might comprise computer storage media and communication media.

Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by the computer system 102, 103, 104, or 105.

Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media. Computer-readable media may also be referred to as computer program product.

The logical operations of the various embodiments of the present invention are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance requirements of the computing system implementing the invention. Accordingly, the logical operations making up the embodiments of the present invention described herein are referred to variously as operations, structural devices, acts or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims attached hereto.

FIG. 2 illustrates the operational flow of one embodiment of a system according to the present invention. Copy operation 200 receives a copy command from a user. Paste operation 202 places the selected information from the copy operation 200 into a window displayed on the web page on monitor 152. Identify data items operation 204 parses the request based upon selected criteria. Action operation 206 performs an action in response to identifying the data items. Actions may include making the data items available for download followed by the user selecting to download the data items in a bundled or non-bundled form. Other actions for electronic data items include making a hard copy of the data items on CD, DVD, floppy disk, zip disk, magnetic tape, or paper; followed by shipping the data items by US mail or other carrier service. For non-electronic data items (such as clothing), actions comprise shipping. Action operation 206 may include the steps of requesting more data items, asking for and entering credit card information as well as personal information such as name and address or other characteristics.

The copy operation 200 and the paste operation 202 are performed through what is commonly known to “copy” and “paste” through use of input devices such as a keyboard 144 and mouse 146 or other device any desired part (or whole) of an electronic text-containing page (for example a word processing page, text-containing web page, or email message) that may be displayed on the monitor 152. As used herein the terms “copy” and “paste” are not limited to word processing, but are used to characterize input commands provided to input devices to accomplish the functions and behaviors of copying and pasting. Copy includes any method of selecting data; paste includes any method of placing data. To copy a paragraph using the mouse 146, the user can highlight the desired text by clicking and dragging the mouse 146 over the desired text, pointing the mouse 146 to a drop-down menu and selecting “copy” from the menu, then pointing the mouse at the desired location for producing the copied text and selecting “paste” from the drop-down menu. The functions provided by the drop-down menu “copy” and “paste” selections can also be accomplished by simple keystrokes such as “control-C” for copy and “control-V” for paste. It may also be desirable to “cut” and “paste” the desired text; whereupon the “cut” menu selection or “control-X” keystroke can be employed. It is also understood that “copied” data is saved to a buffer generally called a clipboard or scrapbook. At the time of the instant invention, the foregoing are the current conventions in copying and pasting and are outlined herein as a functional illustration. However, the invention is not limited to these conventions and contemplates other methods of selecting information. The copy and paste functions could be integrated such that one user input command performs both functions. Other ways of achieving copying and pasting may employ input devices such as voice commands or pointing devices alternative to a mouse 146, such as a light pen, finger to a touch screen, eye focus sensing device, or alternative keystrokes on the keyboard 144.

In one embodiment, a method and system is provided that permits a requester of electronic information to enter the request in a streamlined fashion via the client computer 103 (e.g. by “paste”) and obtain the desired electronic information from the server computer 102 without having to use excessive keyboard and mouse strokes. The streamlined method typically comprises a “paste” step, wherein an electronic text-containing page is electronically pasted (by mouse or simple keystrokes, or combination thereof) into an appropriate window box on a receiving web page displayed on a monitor 152 attached to the client computer 103. The electronic text-containing page may include an email message, a word processing document, an electronic journal article, patent text, search result page, or HTML page. The electronic text-containing page comprises words, letters, numbers and/or symbolic characters. Some of the text in this electronic text-containing page is a reference to a specific data item (for example, a patent number, UPN, SKU number, or other unique identifier). Once the electronic text-containing page is pasted into the appropriate receiving box, an executable application, script, or program parses the pasted information and identifies the specific data items referred to therein. The logical steps to parse the information are known by those of skill in the art may be written in a variety of programming languages, including perl, java, C, C++, javascript, Tcl/Tk, Python, Fortran, Pascal, Cobol, BASIC, or Visual BASIC. A parsing and identifying program may reside and be executed via one or more of the computers 102, 103, 104, or 105. If the specific data items are digital files, they may be delivered to the user's computer 103 electronically. The user needs only to paste a request into an appropriate location on the receiving web page, rather than re-enter the request manually by typing it out on the keyboard. This streamlined method provides a great benefit for requests that contain numerous data items to be obtained. One example is the ordering of patents or other publications via a web interface. A United States patent may list several “references cited” on the face of the patent, as well as citing patents within the text of the patent specification. A user may copy any part of or the entire patent, including the front page into the receiving web page. This streamlined method removes the time consuming and error prone necessity of a human mentally parsing a list (or other text page) containing numerous data items and then entering the desired data items individually. Time is saved because the user does not have to enter each data item individually, and typographical errors are obviated because no typing is required. The user may type out the whole request or paste part of the request and type out additional requests or information in the same receiving box. A variety of formats may be accepted by the computer system 103. The data items will be identified and delivered to the computer system 103 as long as the request includes the desired data items.

The identify operation 204 may be performed by logical steps encoded by different programming languages. Different languages have different capabilities, strengths, and portabilities. If the identify operation 204 is performed by the server 102, then portability is less of a concern. For example, if a user's request is sent to the server 102 via an HTML form action, a servlet or cgi application can parse and perform other operations on the incoming data stream. A concern is potentially slower performance or reaching a maximum number of users. Performing logical operations on the client side may be more difficult because different browsers interpret instructions in different manners with different end results. An example of this is browser interpretation of Javascript and Java. Furthermore, execution on the client side may pose security issues, the consequence of which affects obtaining information from outside the browser. Generally, applets are interactive, contained applications that do not necessarily communicate user entered data to the server. The latter can be accomplished, however, by opening an I/O data stream to the server. Typically, applets are not permitted to access the client file system, and until recently, could not accept information from the client clipboard. The instant invention encompasses embodiments where the parsing operation is performed on the server as a server application, servlet, or cgi application. Alternatively, the instant application encompasses performing the parsing operation on the client side and transferring the results to the server. Other configurations and methods of execution are known to those skilled in the art.

In another embodiment, the copy and paste operation may be performed through a single user input command. In yet another embodiment, the paste operation 202 identifies the information for the server computer system 102 without displaying the information on the computer system 103. The information may then be transferred from the client computer 103 to the server computer 102 for processing without displaying the selected information on the client computer 103.

FIG. 3 illustrates the operational flow of one embodiment of the identify operation 204 according to the present invention wherein logical operations are performed by the server computer 102. Block 300 represents the server computer system 102 receiving the request. Block 302 represents the server computer system 102 comparing the request to selected criteria. Block 304 represents the server computer 102 providing data items based upon comparing the request to selected criteria. Identify operation 204 identifies the requested data items from the request.

In one embodiment where the request includes text with data items referenced by their unique identifiers, the text is treated as a string and is parsed based upon selected criteria that recognize the format of the unique identifier(s). The text string may be modified to remove whitespace and/or URL encoding and/or symbolic characters or other characters if this is desirable. Modification of the input string may become desirable if whitespace, URL encoding, symbolic characters, etc. affect the ability of the selected criteria to be recognized. For example, a patent document contains various numbers including dates, classification information, patent numbers, and possibly other numbers. Matching the selected criteria used to identify patent numbers from among the other numbers and text may depend upon, for example, removing all commas, or deleting (or ignoring) numbers with an intervening slash. The selected criteria may be numerous and include many matching operations. For example, the selected criteria may be a series of patterns to be matched alternatively. If a series of patterns are to be matched, the optional string modifying steps should not interfere with the ability to match and therefore identify one pattern over another. The pattern to be matched during the identify operation(s) may include wildcards if appropriate. Also, if necessary, some string patterns may be modified by the executable by additions, such as zero-filling of numbers, after a basic pattern is matched. The parse operation can be thought of as a selective search engine that seeks pattern matches to unique identifiers of data items. Those skilled in the art will recognize that accomplishing pattern matching may be different for each programming language.

One embodiment of the present invention is especially suited for rapid identification and electronic delivery of electronically archivable data items such as document files, image files, digital music files, other digital audio files, video files, animation files, and program files. These data items can be downloaded directly from server computers 102 to the client computers 103 and 104 in response to appropriate requests. Other data items not electronically archivable such as books, clothing, groceries, flowers, and articles of manufacture can also be ordered in this fashion, although the actual product must be separately shipped or delivered.

FIGS. 4-8 illustrate ordering an electronic data file representing a patent or other document according to one embodiment of the present invention. FIG. 4 illustrates an exemplary screen display showing the text of an email message displayed on screen of the monitor 152. The email message contains text describing various patents in narrative form. A web server 102 provides the client computer 103 with an HTML “form” to input a request from the user, as illustrated in the screen display shown in FIG. 5. In one embodiment, the data items requested are electronic files of patent documents in Adobe® Acrobat® pdf format, for example. The user uses a copy and paste operation to copy the contents of the email shown in FIG. 4 to the input form shown in FIG. 5. FIG. 6 is an exemplary screen display showing the text pasted into the input form shown in FIG. 5. The server computer 102 passes the user's form input to an executable over a common gateway interface (cgi). The executable then sends back to the server computer 102 the results of the identify operation 204 for display to the user. FIG. 7 is an exemplary screen displaying showing the identified items. The user has the option of modifying the order, canceling the order, or processing the order as is. Further processing of the order, again by sending form data, results in giving the user the delivery option of viewing the electronic files or downloading same files. FIG. 8 is an exemplary screen display showing the files that may be viewed or downloaded. Servlets can also be employed to execute the parsing/identifying operation(s). The executable on the server computer 102 can be written in a variety of languages. As an alternative to cgi programs and servlets; applets, ActiveX controls, or HTML-embedded scripting can be employed if client side execution is preferred. Those skilled in the art will recognize that many variations of the environment may be employed, wherein the best results may be achieved based upon what one considers to be the most important needs to be fulfilled, and may be a combination of simplicity, speed, security, robustness of the programming language, and leveraging existing infrastructure.

In another embodiment, the user may select images displayed on the monitor 152 of the client computer 103. The identify operation 204 may then compare the selected image to a plurality of images stored in a database. These images may be representative of consumer products to be ordered. Known techniques for parsing or matching images may be employed. Exemplary methods and systems for image matching are disclosed in U.S. Pat. Nos. 6,088,483, 6,026,411, 5,933,546, and 5,361,204, which are hereby incorporated by reference. The matching operation which is part of the parsing operation is not limited to ASCII text. The matching operation can include matching of image patterns such as are found in the Japanese language, or other languages with “non-western” characters. Furthermore, the image pattern matching is not limited to black and white, such as text is usually found, but can include colored images such as is found in colored gif or jpeg images.

FIG. 9 illustrates the operational flow of one embodiment of a system according to the present invention for the delivery of items that are digitally archivable. Each desired item is represented by a unique identifier. This unique identifier can be numeric, alphabetic, can contain other symbolic keyboard characters, and/or any combination thereof. The program code executing the identify operation 204 recognizes these unique identifiers. Furthermore, the identify operation 204 recognizes these unique identifiers when they are embedded in or surrounded by other keyboard characters. The identify operation 204 parses a string or strings which contain reference to a desired item. Action operation 206 orders these items for delivery. Furthermore, the format of the string or strings containing the unique identifiers is not critical to the recognition of the unique identifiers. A feature of the identify operation 204 is to remove the requirement for special formatting of string input. This feature makes placing orders faster and easier for the requestor.

Once the identify operation 204 has parsed the text string and detected the items requested, delivery of the items can occur in several ways as illustrated in FIG. 9. A test operation 900 detects whether the user selects electronic delivery. If not, items may be sent by fax, U.S. mail, FEDEX, or other delivery service as represented by other delivery method operation 902. Furthermore, the medium on which the digitally archivable items are delivered may include CD, DVD, microfilm, magnetic tape, removable disk, zip disk, or paper.

If the user desires electronic delivery, items can be downloaded, sent by email, or retained on a server computer 102 for download at a future time. A test operation 904 detects whether the user wants each item to be sent/downloaded separately as shown by operation 906 or bundled together and sent/downloaded as a single unit as shown by operation 908. Typically, the hardware/software of the client computer 103 will dictate what is the best or most desirable delivery method. If the client computer 103 has a fast connection to the server computer 102, the bundling operation 908 is the most streamlined method of delivery. A client computer 103 may nonetheless select individual delivery regardless of the characteristics of the client computer 103.

For example, a requestor wants to receive electronic copies of all the patents cited in the text of a specific patent. The cited patents are the specific data items. The requestor could select the text of the entire patent, pass this string to the executable program code of this invention, and run the executable. The executable recognizes all patent numbers and then provides an option to the requestor of how the patent documents (specific data items) should be sent. The most streamlined delivery method would be to choose bundled electronic delivery by download.

Another example would encompass ordering digital music files such as MP3 files. The requestor submits a request containing unique identifiers of desired MP3 files to the executable program code. Again, the format of the request is not critical. The request could be the text of an email message or a search result list or any text containing page that also has the unique identifiers for the desired items. If the requestor submits a search result page to the executable of the invention, the text might contain, in addition to the unique identifiers, artist names, biographies, user reviews, etc. The executable detects the unique identifiers of the MP3 files from among all the submitted text. Once the executable code has identified the desired MP3 files, the user can choose a delivery method. Again, depending on the requesters resources or desires, the requestor may select bundled electronic delivery, wherein all MP3 files ordered are sent/downloaded as a unit; or non-bundled electronic delivery where each MP3 files is sent/downloaded separately. Alternatively, the requestor can select a hard copy on CD, DVD, cassette tape or other appropriate medium for non-electronic delivery.

The logical operations according may be implemented through a variety of configurations as is known to those of skill in the art. The logical operations may be performed by executable code executed by remote server computers 102, the same server computer 102 that stores the electronic files, or on another computer 104 or 103 accessible via the LAN 158, WAN 160, or Internet. Alternatively, the logical operations may be embedded in an HTML page (like javascript) or other browser displayed markup language that may executed by the client computer 103. The executable software code for performing the logical operations can be a java applet or activeX control. The executable program code may be a plug-in that is executed by the client computer 103. The logical operations may be implemented via executable program code written in any language that is appropriate for the desired placement of the executable. For example, at the present time, not all programming languages can be embedded in web pages. One skilled in the art understands the requirements for different languages in terms of how and where programs written in a particular language are interpreted; or not interpreted as in compiled code. It is also understood that files can be transferred via any appropriate protocol, including but not limited to TCP/IP protocols such as HTTP and FTP.

FIG. 10 illustrates the operational flow of one embodiment of a system according to the present invention for the delivery of items in an e-commerce system, wherein electronically archivable items are sold together with non-electronically archivable items. An example e-commerce system may include the sale of digitally archived movies, music, or exclusive still photos or images in conjunction with t-shirts, souvenirs, and other promotional items. A test operation 900 detects whether the user selects electronic delivery. If not, items may be sent by fax, U.S. mail, FEDEX, or other delivery service as represented by other delivery method operation 902. Furthermore, the medium on which the digitally archivable items are delivered may include CD, DVD, microfilm, magnetic tape, removable disk, zip disk, or paper. If the user desires electronic delivery, electronically archivable items can be downloaded, sent by email, or retained on a server computer 102 for download at a future time. The user may have the option of selecting one or more of several promotional items (for purchase or give-away) in addition to ordering the electronic files. The promotional items may be delivered by the United States Postal Service, for example, while the electronic files, such as MP3, may be downloaded electronically, as represented by operation 1000. Selection of non-digital items may be similar to a shopping cart type of electronic shopping method where the user first browses and then selects items, as is known in the art. Other e-commerce systems may be employed. Exemplary e-commerce systems are disclosed in U.S. Pat. Nos. 5,897,622, 5,960,411, 5,745,681, and 5,710,887, which are hereby incorporated by reference.

A test operation 904 detects whether the user wants each item to be sent/downloaded separately as shown by operation 906 or bundled together and sent/downloaded as a single unit as shown by operation 908. Typically, the hardware/software of the client computer 103 will dictate what is the best or most desirable delivery method. If the client computer 103 has a fast connection to the server computer 102, the bundling operation 908 is the most streamlined method of delivery. A client computer 103 may nonetheless select individual delivery regardless of the characteristics of the client computer 103.

In another embodiment, items may be ordered that are not electronically archivable. A request provided by the client computer 103 may include SKU numbers or other non-image or image merchandise or consumer product or service identifiers. The request may contain text or images in addition to the merchandise identifiers. The request is then passed to the identify operation 204 (for example by pasting into a box; or by clicking on an appropriate location on a web page, such as a button) whereupon the identify operation 204 identifies the SKU numbers or other unique identifiers. Action operation 206 will initiate steps to provide the user with the desired products or services in a default manner or a manner selected by the user, as is known in the art. These embodiments will allow for the efficient ordering of merchandise or services from retailers.

The logical operations according to the present invention may also include payment operations, (e,g, by account number or credit card), order deletion operations, or order cancellation operations, as is known to those skilled in the art of e-commerce applications.

One embodiment of the present invention encompasses file delivery methods and systems that do not require a database search. Another embodiment may be used in conjunction with a database. Another embodiment may also be used in applications not involving databases of stored information records. An example of a non-database application would include a user who already knows which files are desired and therefore does not need to perform a database search. The query operation is optional.

An embodiment of the present invention further provides for the dynamic bundling or wrapping of ordered files such that they are sent to the user as a single unit, rather than the user having to open or click on each file individually to view or download it. Bundled files may include multimedia files such as digital music files, video files, image and document files. Typically, internet download speeds deter the electronic transfer of multiple large files simultaneously. However, embodiments of the invention described herein provide a streamlined ordering process that facilitate large file transfers.

Thus, the present invention is presently embodied as a method, apparatus, computer program product or computer readable media encoding a computer program for requesting information from a server computer.

The various embodiments described above are provided by way of illustration only and should not be construed to limit the invention. Those skilled in the art will readily recognize various modifications and changes that may be made to the present invention without following the example embodiments and applications illustrated and described herein, and without departing from the true spirit and scope of the present invention, which is set forth in the following claims. 

1.-47. (canceled)
 48. A computer implemented method for retrieving at least one multimedia file over a network, the method comprising: providing a browser window capable of receiving a text request string; receiving in said browser window a text request string comprising a unique identifier and unformatted text, wherein the unique identifier identifies a multimedia file; parsing the text request string to identify the unique identifier(s) in the string, wherein identifying includes matching based on selected criteria; providing the unique identifier(s) to a user for selection of a plurality of said unique identifiers, wherein the number of unique identifiers provided to the user for selection is the same as the number of multimedia files for retrieval; querying a user to order the multimedia file(s) identified by the selected unique identifier(s), wherein the multimedia file(s) ordered are delivered to a user electronically.
 49. The method of claim 48, wherein multimedia files identified by the selected unique identifiers are delivered electronically as a bundle.
 50. The method of claim 48, wherein the multimedia files are MP3 files or MP4 files.
 51. The method of claim 48, wherein the parsing step is executed by a client computer.
 52. The method of claim 48, wherein the parsing step is executed by a server computer.
 53. A computer-implemented method for retrieving a plurality of multimedia files over a network, the method comprising: providing a browser window capable of receiving a request; receiving in said browser window a request comprising a unique identifier and data, wherein the unique identifier identifies a unique multimedia file; parsing the request to identify the unique identifiers, wherein identifying includes matching based on selected criteria; providing the unique identifiers to a user for selection of a plurality of unique identifiers, wherein the number of unique identifiers provided to the user for selection is the same as the number of multimedia files for retrieval; querying a user to order the items identified by the selected unique identifiers, wherein multimedia file(s) ordered are delivered to a user electronically.
 54. The system of claim 53, wherein multimedia files identified by the selected unique identifiers are delivered as a bundle.
 55. The system of claim 53, wherein the multimedia files are MP3 files or MP4 files.
 56. The system of claim 53, wherein the parsing step is executed by a client computer.
 57. The system of claim 53, wherein the parsing step is implemented on a server computer.
 58. The system of claim 53, wherein the request comprises an image.
 59. A computer-implemented system for retrieving at least one multimedia file over a network comprising: a browser window capable of receiving a request; a request module receiving a request comprising a unique identifier and data wherein the unique identifier identifies unique multimedia files; a parser module identifying the unique identifier(s), wherein identifying includes matching based on selected criteria; a display module that provides the unique identifier(s) to a user for selection of one or more of the unique identifiers; wherein the number of unique identifiers provided to the user for selection is the same as the number of items for retrieval; an order module that enables a server system to process an order for the multimedia file(s) identified by the unique identifier(s); wherein the multimedia file(s) ordered are delivered to a user electronically.
 60. The method of claim 59, wherein items identified by the selected unique identifiers are delivered electronically as a bundle.
 61. The system of claim 59, wherein the parser module is implemented on a server computer.
 62. The system of claim 59, wherein the parser module is implemented on a client computer.
 63. The method of claim 59, wherein the request comprises an image.
 64. A computer program product readable by a computing system and encoding a computer program of instructions for executing a computer method for retrieving at least one multimedia file over a network, said computer method comprising: providing a browser window capable of receiving a request; receiving in said browser window a request comprising a unique identifier and data, wherein the unique identifier identifies a unique multimedia file; parsing the request to identify the unique identifier(s), wherein identifying includes matching based on selected criteria; providing the unique identifier(s) to a user for selection of at least one unique identifier, wherein the number of unique identifier(s) provided to the user for selection is the same as the number of items for retrieval; querying a user to order the items identified by the selected unique identifier(s); wherein the multimedia file(s) ordered are delivered to a user electronically.
 65. The method of claim 64, wherein multimedia files identified by the selected unique identifiers are delivered electronically as a bundle.
 66. The system of claim 64, wherein the parser module is implemented on a server computer.
 67. The system of claim 64, wherein the parser module is implemented on a client computer. 